Large organizations generally have a need to have up-to-date information regarding information equipment and other resources that exist within the organization. For example, it may be necessary or useful to know which programs are installed on particular information appliances, which optional or accessory components are installed, which programs are actually in execution at any particular time, etc. In addition, other data, such as financial information is needed to understand characteristics such as costs being incurred by the organization by virtue of the existence and use of various resources. In various organizations, there may be interest in knowing costs to run a particular type of information appliance (e.g., a server) and/or an individual appliance.
Earlier tools exist that allow automatic detection of the type of operating system which exists on a computer at a particular network address, but these generally cannot detect the type of computer on which the operating system is running, the CPU speed, the chip set in use, the mounted file system, the files thereof that are accessible, or the application programs that are installed and in particular these systems typically lack the ability to reliably and repeatedly detect an individual system or other elements in an information system network, particularly when various aspects of such systems change over time.
Some earlier desktop signature systems create identification data (such as a signature) from software running on the system itself (rather than, for example, over a network) and do not have always the ability to positively identify the same system across hardware and software configuration changes. The purpose of these systems is often to restrict operating system software from running on any system that does not have the exact profile of the system where the operating system was installed.